5 research outputs found

    Roaring bitmap : nouveau modèle de compression bitmap

    Get PDF
    Les index bitmap sont très utilisés dans les entrepôts de données et moteurs de recherche. Leur capacité à exécuter efficacement des opérations binaires entre bitmaps améliore significativement les temps de réponse des requêtes. Cependant, sur des attributs de hautes cardinalités, ils consomment un espace mémoire important. Ainsi, plusieurs techniques de compression bitmap ont été introduites pour réduire l'espace mémoire occupé par ces index, et accélérer leurs temps de traitement. Ce papier introduit un nouveau modèle de compression bitmap, appelé Roaring bitmap. Une comparaison expérimentale, sur des données réelles et synthétiques, avec deux autres solutions de compression bitmap connues dans la littérature : WAH (Word Aligned Hybrid compression scheme) et Concise (Compressed "n" Composable integer Set), a montré que Roaring bitmap n'utilise que 25% d'espace mémoire comparé à WAH et 50% par rapport à Concise, tout en accélérant significativement les temps de calcul des opérations logiques entre bitmaps (jusqu'à 1100 fois pour les intersections)

    Les index bitmap compressés

    Get PDF
    Les index bitmap sont très utilisés dans les moteurs de recherche et les bases de données pour accélérer les opérations de recherche. Leurs principaux avantages sont leur forme compacte et leur capacité à tirer profit du traitement parallèle de bits dans les CPU (bit-level parallelism). Lorsque employés sur des attributs de faibles cardinalités, l'efficacité des index bitmaps en matière d'occupation d'espace mémoire et de temps de traitements comparé aux autres types d'index classiques, tels que l'arbre-B, est largement reconnue dans la littérature. Cependant, plus la cardinalité d'un attribut s'élève plus la taille et les temps de traitements de son index bitmap augmentent jusqu'à consommer plus d'espaces mémoires que les données indexées et d'importants temps de calculs. Afin de maintenir l'efficacité de ces solutions d'indexation dans ces conditions- là, plusieurs chercheurs ont proposé des travaux dans le but de réduire la taille et améliorer les temps de traitement de bitmaps indexant des attributs de larges cardinalités. Les solutions proposées dans la littérature adressant cette problématique se divisent en trois catégories : le paquetage des bitmaps, l'encodage des bitmaps et la compression des bitmaps. Les contributions proposées dans cette thèse se classent parmi la troisième catégorie. Après avoir constaté que la plupart des techniques de compression de bitmaps introduites ces 15 dernières années se basent sur le modèle de la solution WAH, qui combine une compression par plages de valeurs avec une représentation bitmap sous forme de chaînes de bits alignées par mots CPU, cette thèse propose la technique Roaring bitmap, qui adopte un nouveau modèle pour compresser les bitmaps. Cette méthode discrétise l'espace des entiers représentés par un bitmap en des partitions de taille fixe, puis applique sur chacune une forme de compression appropriée selon la densité du groupe d'entiers. Des expériences ont été conduites pour comparer les performances temps-espace du nouveau modèle avec ceux de deux autres solutions de compression bitmap parmi les plus connues dans la littérature : WAH et Concise. Les résultats ont montré que, sur des faibles densités, la nouvelle méthode ne consomme que ≈ 50% de l'espace mémoire occupé par Concise et ≈ 25% de celui de WAH. Aussi, Roaring bitmap a pu accélérer les temps de calcul d'opérations logiques par rapport aux deux autres techniques sur tous les tests effectués, en étant de 4 à 5 fois plus performant sur des données synthétiques, et jusqu'à 1100 fois plus rapide sur des données réelles. La librairie de Roaring bitmap et celles des autres solutions adoptant le modèle WAH qui sont disponibles au grand public ne supportent que des bitmaps d'au plus 232 (≈ 4 milliards) entrées. Avec l'avènement du Big Data, le besoin d'indexer de très larges collections de données sur lesquelles de telles librairies se révèlent impraticables est souvent rencontré. Les ingénieurs du moteur de recherche Apache Lucene ont rencontré ce problème, et ont introduit la solution OpenBitSet, qui peut allouer des bitmaps avec jusqu'à 64 x 232 – 1 entrées. Cependant, cette solution reste simple et n'applique aucune forme de compression sur les bitmaps. La présente thèse propose trois nouveaux modèles de compression bitmap basés sur le format de Roaring bitmap et qui peuvent indexer jusqu'à 264 entrées. Des expériences sur des données synthétiques comparant les performances des trois nouveaux modèles avec la solution d'Apache Lucene, OpenBitSet, et d'autres collections Java du paquetage Java.Util : ArrayList, LinkedList, HashSet et TreeSet, ont montré qu'OpenBitSet et les collections Java consomment, respectivement, jusqu'à ≈ 300 millions de fois et ≈ 1800 fois plus d'espaces mémoire comparés aux trois nouveaux modèles. Ces derniers ont également calculé des intersections entre deux ensembles d'entiers, ≈ 6 millions de fois, ≈ 63 milles fois et ≈ 6 fois plus rapidement par rapport à OpenBitSet, aux deux collections ArrayList et LinkedList, et aux deux structures HashSet et TreeSet, respectivement. En évaluant les temps pour calculer l'union de deux ensembles d'entiers, les nouvelles méthodes ont été jusqu'à ≈ 3 millions de fois plus performantes qu'OpenBitSet. Aussi, cette dernière structure de données a été jusqu'à ≈ 14 millions de fois plus lente pour insérer un entier généré aléatoirement que les trois solutions proposées. Afin de valider le format de la solution Roaring bitmap dans un SGBD réel, cette technique d'indexation a été intégrée au moteur OLAP Druid. Ce système se base essentiellement sur des index bitmap compressés avec la technique Concise pour accélérer les temps de réponse de requêtes OLAP effectuant des analyses détaillées sur les données (drill-down). Des expériences sur des données réelles ont été réalisées pour évaluer les performances de Roaring bitmap et de Concise au sein du SGBD Druid. Les résultats ont montré que Roaring bitmap a amélioré de ≈ 2 fois les temps de réponse de requêtes d'agrégations et près de 5 fois le temps de traitements de requêtes de recherche comparé à la solution Concise.\ud ______________________________________________________________________________ \ud MOTS-CLÉS DE L’AUTEUR : index bitmap, compression, performances, opérations logiques, structures de données

    Nouveaux modèles d’index bitmap compressés à 64 bits

    Get PDF
    Les index bitmap sont très utilisés dans les entrepôts de données et moteurs de recherche pour accélérer les requêtes d'interrogation. Leurs principaux avantages sont leur forme compacte et leur capacité à tirer profit du traitement parallèle de bits dans les CPU (bit-level parallelism). Dans l'ère actuelle du Big Data, les collections de données deviennent de plus en plus volumineuses. Les librairies d'index bitmap compressés disponibles à ce jour dans la littérature, telles que : Roaring bitmap, WAH ou Concise, ne supportent qu'au plus 4 milliards d'entrées et sont très souvent impraticables dans de tels contextes. Après avoir constaté ce besoin tant dans le milieu industriel que scientifique, nous proposons trois nouveaux modèles d'index bitmap compressés, basés sur le format de notre précédente contribution Roaring bitmap et qui supportent jusqu'à 2^64 entrées. Des expériences sur des données synthétiques ont été mises en oeuvre pour comparer les performances des trois nouvelles propositions avec la solution du moteur de recherche Apache Lucene : OpenBitSet, et d'autres collections Java. Les résultats ont montré que les trois nouvelles techniques ont été près de 300 millions de fois et 1800fois moins volumineuses en consommation mémoire qu'OpenBitSet et les collections Java, respectivement. Aussi, les trois nouveaux modèles ont calculé des opérations logiques, jusqu'à 6 millions de fois et jusqu'à 63 milles fois plus vite qu'OpenBitSet et les structures Java, respectivement

    Vers de meilleures performances avec des Roaring bitmaps

    Get PDF
    Les index bitmap sont très utilisés dans les entrepôts de données et moteurs de recherche. Leur capacité à exécuter efficacement des opérations binaires entre bitmaps améliore significativement les temps de réponse des requêtes. Cependant, sur des attributs de hautes cardinalités, ils consomment un espace mémoire important. Plusieurs techniques de compression bitmap ont été introduites pour réduire l'espace mémoire occupé par ces index, et accélérer leurs temps de traitement. Ce papier introduit un nouveau modèle de compression bitmap, appelé Roaring bitmap. Une comparaison expérimentale, sur des données réelles et synthétiques, avec deux autres solutions de compression bitmap connues dans la littérature : WAH (Word Aligned Hybrid compression scheme) et Concise (Compressed 'n' Composable integer Set) a montré que Roaring bitmap n'utilise que 25% d'espace mémoire comparé à WAH et 50% par rapport à Concise, tout en accélérant significativement les temps de calcul des opérations logiques entre bitmaps (jusqu'à 1100 fois pour les intersections)

    Optimizing Druid with Roaring bitmaps

    No full text
    In the current Big Data era, systems for collecting, storing and efficiently exploiting huge amounts of data are continually introduced, such as Hadoop, Apache Spark, Dremel, etc. Druid is one of theses systems especially designed to manage such data quantities, and allows to perform detailed real-time analysis on terabytes of data within sub-second latencies. One of the important Druid's requirements is fast data filtering. To insure that, Druid makes an extensive use of bitmap indexes. Previously, we introduced a new compressed bitmap index scheme called Roaring bitmap that has shown interesting results when compared to the bitmap compression scheme adopted by Druid: Concise. Since, Roaring bitmap has been integrated to Druid as an indexing solution. In this work, we produce an extensive series of experiments in order to compare Roaring bitmap and Concise time-space performances when used to accelerate Druid's OLAP queries and other kinds of operations Druid realizes on bitmaps, like: retrieving set bits from bitmaps, computing bitmap complements, aggregating several bitmaps with logical ORs and ANDs operations. Roaring bitmap has shown to improve up to 5 times analytical queries response times under Druid compared to Concise
    corecore